'''
1)测试用例的表格文件
    --》使用pip安装openpyxl
    --》import openpyxl
2）配置环境的ini文件
'''
import configparser
import os.path

import openpyxl


# 获取项目文件路径
def get_protectpath():
   #  __file__是python的内置属性，能获取当前模块的路径
    fpath = os.path.dirname(__file__)
    protectpath = os.path.dirname(fpath)
    return protectpath

# 读取表格文件
def readxlsx(filepath,sheetname="sheet1"):
    '''
        读取表格内容，返回列表，每个列表的内容为子列表（存储每行数据），子列表的元素为表格每行的单元格内容
    :param filepath: 表格文件路径
    :param sheetname: 工作表的名称
    :return:列表信息 不包括第一行表头信息
    '''
    # 获取完整的表格路径
    path = get_protectpath()+"\\"+filepath

    # 读取表格文件
    wb = openpyxl.load_workbook(path) # 返回一个workbook对象，封装了表格文件的所有工作表信息
    # 获取某个工作表内容
    wsh = wb[sheetname]

    # 创建返回的空列表
    testls = []

    # 遍历获取内容
    for row in wsh: # row代表每行信息
        # 创建空的子列表
        cellls = []
        for cell in row:
            # 获取单元格内容
            celltext = cell.value
            # 判断如果单元格为空，则存储空字符串
            if celltext is None:
                cellls.append("")
            else:
                # 将单元格内容存储在子列表中
                cellls.append(celltext)

        # 将子列表添加到返回的空列表中
        testls.append(cellls)

    return testls[1::]



# 读取ini文件
def readini(filepath,section,key):
    # 获取完整的文件路径
    path = get_protectpath() + "\\" + filepath
    cp = configparser.ConfigParser()
    cp.read(path,encoding="utf-8")
    value = cp.get(section,key)
    return value



# 读取csv文件


if __name__ == '__main__':
    ls= readxlsx("datas\\data_adduser.xlsx","添加成员的测试数据")
    print(ls)

    v= readini("datas\\env.ini","env","url")
    print(v)

